package com.yeti.repository;

import java.io.Serializable;

import com.yeti.domain.Producto;

public interface ProductoDAO extends Serializable{
	
	/**
	 * Metodo que actualiza la informacion de un producto de la base de datos.
	 * 
	 * @param p: Es el producto a actualizar.
	 * @return devuelve true si la operacion se produce correctamente o false en caso contrario.
	 */
    public boolean updateProducto(Producto p);
    
    /**
	 * Metodo que agrega un prducto en la base de datos.
	 * 
	 * @param p: Es el producto a agregar.
	 * @return devuelve true si la operacion se produce correctamente o false en caso contrario.
	 */
    public boolean addProducto(Producto p);
    
    /**
	 * Metodo que elimina a un producto de la base de datos.
	 * 
	 * @param p: Es el producto a eliminar.
	 * @return devuelve true si la operacion se produce correctamente o false en caso contrario.
	 */
    public boolean remProducto(Producto p);

    /**
	 * Metodo devuelve un producto dado su id.
	 * 
	 * @param idProducto: Es el id del producto a obtener.
	 * @return devuelve el producto en caso de encontrarlo, null en caso de no encontrarlo.
	 */
	public Producto getProducto(int idProducto);
	
}
